Meson: Use gnome.post_install()
authorXavier Claessens <xavier.claessens@collabora.com>
Fri, 29 Jan 2021 23:46:32 +0000 (18:46 -0500)
committerXavier Claessens <xavier.claessens@collabora.com>
Tue, 9 Mar 2021 02:19:09 +0000 (21:19 -0500)
See https://github.com/mesonbuild/meson/pull/8272 and
https://github.com/mesonbuild/meson/issues/8268.

meson.build
modules/meson.build
modules/printbackends/meson.build
tools/meson.build

index 145a848a86789315a213d609afee073298d7be4b..a60e061b96441e1419f3820801882bc280dff8cb 100644 (file)
@@ -798,14 +798,21 @@ subdir('po-properties')
 subdir('docs/tools')
 subdir('docs/reference')
 
-# Keep this in sync with post-install.sh expected arguments
 if not meson.is_cross_build()
-  meson.add_install_script('build-aux/meson/post-install.py',
-                           gtk_api_version,
-                           gtk_binary_version,
-                           gtk_libdir,
-                           gtk_datadir,
-                           gtk_bindir)
+  if meson.version().version_compare('>=0.57.0')
+    gnome.post_install(
+      glib_compile_schemas: true,
+      gio_querymodules: gio_module_dirs,
+      gtk_update_icon_cache: true,
+    )
+  else
+    meson.add_install_script('build-aux/meson/post-install.py',
+                             gtk_api_version,
+                             gtk_binary_version,
+                             gtk_libdir,
+                             gtk_datadir,
+                             gtk_bindir)
+  endif
 else
   message('Not executing post-install steps automatically when cross compiling')
 endif
index 614be805f538617059a76cad95e03b9bb989fbfe..4bd67114f8b7081405081e6765a5872b0452c83c 100644 (file)
@@ -1,3 +1,4 @@
+gio_module_dirs = []
 if os_unix
   subdir('printbackends')
 else
index fa55d60e3b81dd364cddb7c29202116720eece7a..833a160747a8db9e489cb00721eae400a14ea2af 100644 (file)
@@ -2,6 +2,7 @@ print_backends = []
 
 printbackends_subdir = 'gtk-4.0/@0@/printbackends'.format(gtk_binary_version)
 printbackends_install_dir = join_paths(get_option('libdir'), printbackends_subdir)
+gio_module_dirs += printbackends_install_dir
 
 printbackends_args = [
   '-DGTK_COMPILATION',
index 7b82caf132bd15008826326b4ffbf4586c250855..1811b6969e3d4ceef56f9eb455f545a23860266d 100644 (file)
@@ -51,6 +51,7 @@ foreach tool: gtk_tools
   )
 
   set_variable(tool_name.underscorify(), exe) # used in testsuites
+  meson.override_find_program(tool_name, exe)
 endforeach
 
 # Data to install